package com.castle.fortress.admin.contractType.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.castle.fortress.admin.contractType.entity.ContractTypeEntity;
import com.castle.fortress.admin.contractType.dto.ContractTypeDto;
import com.castle.fortress.admin.contractType.dto.ContractTypeTreeDto;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.Map;
import java.util.List;

/**
 * 合同类型表 服务类
 *
 * @author 
 * @since 2025-04-22
 */
public interface ContractTypeService extends IService<ContractTypeEntity> {

    /**
     * 分页展示合同类型表列表（树形结构）
     * @param page 分页参数
     * @param contractTypeDto 查询条件
     * @return 树形结构的分页数据
     */
    IPage<ContractTypeTreeDto> pageContractType(Page<ContractTypeTreeDto> page, ContractTypeDto contractTypeDto);

    /**
     * 展示合同类型表列表（树形结构）
     * @param contractTypeDto 查询条件
     * @return 树形结构列表
     */
    List<ContractTypeTreeDto> listContractType(ContractTypeDto contractTypeDto);
}
